package com.kaifamiao.strings;

import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;

/**
 * 将 字节序列(byte sequence) 解码(decode) 为 字符序列(char sequence)
 */
public class StringTest2 {

	public static void main(String[] args) throws UnsupportedEncodingException {
		
		final Charset defaultCharset = Charset.defaultCharset();
		System.out.println( defaultCharset );
		
		// 将字节序列保存到数组中
		final byte[] bytes = { -28, -70, -70, -28, -71, -117, -27, -120, -99 } ;
		
		// 使用 平台的默认字符集 解码 指定的 字节序列 为 字符序列
		String s1 = new String( bytes );
		System.out.println( s1 );
		
		// 使用 平台的默认字符集 解码 指定的 字节序列 中的一部分为 字符序列
		String s2 = new String( bytes , 3 , 3 );
		System.out.println( s2 );
		
		Charset gbkCharset = Charset.forName( "GBK" );
		
		String s3 = new String( bytes , gbkCharset );
		System.out.println( s3 );
		
		String s4 = new String( bytes , 3 , 3 , gbkCharset);
		System.out.println( s4 );
		
		String s5 = new String( bytes , "UTF-8" ); // UnsupportedEncodingException
		System.out.println( s5 );
		
		String s6 = new String( bytes , 3 , 3 , "UTF-8"); // UnsupportedEncodingException
		System.out.println( s6 );

	}

}
